昨天講完流程控制,今天也要將在程式中很重要的部分
在 Java 中,迴圈(Loop)是一種控制結構,用於重複執行一組程式語句,直到某個條件不再滿足為止。迴圈可以幫助簡化程式碼,處理大量的重複性任務。Java 提供了多種不同類型的迴圈,包括 for 迴圈、while 迴圈和do-while 迴圈,每種迴圈都有其適用的情境和使用方式,且在滿足迴圈條件的情況下,反覆執行某一段程式碼,不滿足迴圈條件就會結束迴圈。
迴圈語句可包含4個部分:
以上4部分只是一般性的分類,並不是每個迴圈都清楚劃分
知道執行次數
for(初始化語句; 迴圈條件; 迭代語句)
{
迴圈主體;
}
下面來展示一下從 1 加到 10 吧!
public class ForDemo {
public static void main(String[] args) {
int sum = 0;
for(int i = 1 ; i <= 10; i++) {
sum += i;
}
System.out.println("1 + 2 + ... +10 = " + sum);
//1 + 2 + ... +10 = 55
}
}
for 迴圈只有兩個分號是必須的,初始化語句、迴圈條件、迭代語句的部分都是可以省略的,如果省略了迴圈條件,這個迴圈條件預設為true就會變成無限迴圈。
運行以下程式,就會一直輸出-----------------------
public class DeadForDemo {
public static void main(String[] args) {
for(;;) {
System.out.println("-----------------------");
}
}
}
會造成無限迴圈還有以下情況
public class ForErrorDemo {
public static void main(String[] args) {
for(int i = 0 ; i < 10 ; i++) {
System.out.println(i);
i *= 0.1;
}
}
}
注意:建議不要再迴圈內修改迴圈變數的值,否則將增加程式出錯的可能性,萬一真的遇到需要修改的情況,建議重新定義一個臨時變數,將迴圈變數值賦給臨時變數,再對臨時變數修改。
補充:在迴圈裡宣告的變數只是區域變數,跳出迴圈後,這個變數將不可被使用。
所以想要擴大初始化語句所定義的變數作用範圍,可以用以下的方式!
public class IfDemo2 {
public static void main(String[] args) {
int temp = 0;
for(int i = 0 ; i < 10 ; i++) {
System.out.println(i);
temp = i;
}
//變數i 不可被使用
System.out.println(temp);
}
}
今天先到這邊,明天我們再繼續講到while迴圈吧